package com.wp._2016校招.网易;

/**
 * Created by 王萍 on 2017/9/18 0018.
 */

import java.math.BigDecimal;
import java.util.Scanner;

/**
 * 一条长l的笔直的街道上有n个路灯，若这条街的起点为0，终点为l，第i个路灯坐标为ai，
 * 每盏灯可以覆盖到的最远距离为d，为了照明需求，所有灯的灯光必须覆盖整条街，
 * 但是为了省电，要是这个d最小，请找到这个最小的d。
 */

// 1.给路灯坐标数组排序
// 2.找出两个路灯之间最大的间隔距离
// 3.间隔距离除以2，再与第一个路灯与起始位置之间的距离，终点位置与最后一个路灯的坐标比较，找出最大的。
public class 路灯 {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            int lampNumber = scanner.nextInt();
            int streetLength = scanner.nextInt();
            int[] lampLocations = new int[lampNumber];
            for (int i = 0; i < lampNumber; i++) {
                lampLocations[i] = scanner.nextInt();
            }
            for (int i = 0; i < lampNumber - 1; i++) {
                for (int j = i + 1; j < lampNumber; j++) {
                    if (lampLocations[j] < lampLocations[i]) {
                        int tmp = lampLocations[j];
                        lampLocations[j] = lampLocations[i];
                        lampLocations[i] = tmp;
                    }
                }
            }
            double maxDistance = 0;
            for (int i = 0; i < lampNumber - 1; i++) {
                int distance = lampLocations[i + 1] - lampLocations[i];
                if (distance > maxDistance) {
                    maxDistance = distance;
                }
            }
            maxDistance = maxDistance / 2.0;
            if (streetLength - lampLocations[lampNumber - 1] > maxDistance) {
                maxDistance = streetLength - lampLocations[lampNumber - 1];
            }
            if (lampLocations[0] > maxDistance) {
                maxDistance = lampLocations[0];
            }
            BigDecimal bigDecimal = new BigDecimal(maxDistance);
            System.out.println(bigDecimal.setScale(2));
        }
    }
}
